def loadjson(fn):
f = open(fn)
buf = f.read()
f.close()
obj = json.loads(buf)
return obj
def showLine(title, name, x, y, xname = '', yname = ''):
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y,
mode='lines',
name=name))
fig.update_layout(title=title)
fig.update_xaxes(title_text=xname)
fig.update_yaxes(title_text=yname)
fig.show()
def funcGetX(e):
return e['x']
def showLineWithMap(name, obj, mode = 'lines'):
fig = go.Figure()
arr = []
x = []
y = []
for k in obj:
arr.append({'x': k, 'y': obj[k]})
arr.sort(key=funcGetX)
for k in range(len(arr)):
x.append(str(arr[k]['x']))
y.append(arr[k]['y'])
fig.add_trace(go.Scatter(x=x, y=y,
mode=mode,#'markers',
name=name))
fig.show()
def showLineWithMap2(name, obj, yname, colorname, mode = 'lines'):
fig = go.Figure()
arr = []
x = []
y = []
color = []
for k in obj:
arr.append({'x': k, 'y': obj[k][yname], 'color': obj[k][colorname]})
arr.sort(key=funcGetX)
for k in range(len(arr)):
x.append(str(arr[k]['x']))
y.append(arr[k]['y'])
color.append(arr[k]['color'])
fig.add_trace(go.Scatter(x=x, y=y,
mode=mode,#'markers',
name=name,
marker=dict(
size=2,
color=color,#np.random.randn(500), #set color equal to a variable
colorscale='bluered', # one of plotly colorscales
showscale=True
)))
fig.show()
def showLinesWithMap(title, names, objs, mode = 'lines', xname='', yname=''):
fig = go.Figure()
for i in range(len(objs)):
name = names[i]
obj = objs[i]
arr = []
x = []
y = []
for k in obj:
arr.append({'x': k, 'y': obj[k]})
arr.sort(key=funcGetX)
for k in range(len(arr)):
x.append(arr[k]['x'])
y.append(arr[k]['y'])
fig.add_trace(go.Scatter(x=x, y=y,
mode=mode,#'markers',
name=name))
fig.update_layout(title=title)
fig.update_xaxes(title_text=xname)
fig.update_yaxes(title_text=yname)
fig.show()